#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <queue>
using namespace std;
#define int long long
#define pii pair<int,int>


int n, q;
signed main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> n >> q;


	for (int i = 1,opt,x; i <= q; i++) {
		cin >> opt >> x;
		
	}

	return 0;
}


//int n, d;
//int a[1000005][5];
//int ans;
//signed main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> n >> d;
//	for (int i = 1; i <= n; i++) {
//		for (int j = 1; j <= d; j++) {
//			cin >> a[i][j];
//		}
//	}
//
//	for (int k = 0; k < (1 << d) - 1; k++) {
//		int maxn = -1e18, minn = 1e18;
//		for (int i = 1; i <= n; i++) {
//			int ret = 0;
//			for (int j = 1; j <= d; j++) {
//				if ((k >> j - 1) & 1)ret += a[i][j];
//				else ret -= a[i][j];
//			}
//			minn = min(minn, ret);
//			maxn = max(maxn, ret);
//		}
//		ans = max(ans, maxn - minn);
//	}
//
//	cout << ans << '\n';
//
//	return 0;
//}

//int n, q;
//int a[200005];
//int ans[200005];
//int f[200015];
//
//
//signed main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> n >> q;
//	for (int i = 1; i <= n; i++) {
//		cin >> a[i];	
//	}
//	for (int i = 1; i <= n + 10; i++) {
//		f[i] = 1e18;
//	}
//	map<int, vector<pii>> mp;
//	for (int i = 1, r, x; i <= q; i++) {
//		cin >> r >> x;
//		mp[r].push_back({ x,i });
//	}
//	f[0] = 0;
//	for (int i = 1; i <= n; i++) {
//		int index = lower_bound(f + 1, f + 1 + n, a[i]) - f;
//		f[index] = min(f[index], a[i]);
//		if (mp.count(i)) {
//			for (auto tmp : mp[i]) {
//				ans[tmp.second] = upper_bound(f + 1, f + 1 + n, tmp.first) - f - 1;
//			}
//		}
//	}
//	for (int i = 1; i <= q; i++) {
//		cout << ans[i] << '\n';
//	}
//	return 0;
//}


//
//int n, m, x;
//vector<int> e[200005], z[200005];
//int dise[200005], disz[200005];
//bool vise[200005], visz[200005];
//
//struct  node
//{
//	int v, dis, st;
//	bool operator<(const node& x) const {
//		return dis > x.dis;
//	}
//};
//signed main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> n >> m >> x;
//	for (int i = 1; i <= n; i++)disz[i] = dise[i] = 1e18;
//	priority_queue<node>q;
//	for (int i = 1, u, v; i <= m; i++) {
//		cin >> u >> v;
//		e[u].push_back(v);
//		z[v].push_back(u);
//	}
//
//	dise[1] = 0;
//	q.push({ 1,0,1 });
//	while (!q.empty()) {
//		auto tmp = q.top(); q.pop();
//		int u = tmp.v, ok = tmp.st;
//		if (ok) {
//			if (vise[u])continue;
//			vise[u] = 1;
//		}
//		else {
//			if (visz[u])continue;
//			visz[u] = 1;
//		}
//
//		if (ok) {
//			for (int v : e[u]) {
//				if (!vise[v] && dise[v] > dise[u] + 1) {
//					dise[v] = dise[u] + 1;
//					q.push({ v,dise[v],1 });
//				}
//			}
//			for (int v : z[u]) {
//				if (!visz[v] && disz[v] > dise[u] + x + 1) {
//					disz[v] = dise[u] + x + 1;
//					q.push({ v,disz[v],0 });
//				}
//			}
//		}
//		else {
//			for (int v : z[u]) {
//				if (!visz[v] && disz[v] > disz[u] + 1) {
//					disz[v] = disz[u] + 1;
//					q.push({ v,disz[v],0 });
//				}
//			}
//			for (int v : e[u]) {
//				if (!vise[v] && dise[v] > disz[u] + x + 1) {
//					dise[v] = disz[u] + x + 1;
//					q.push({ v,dise[v],1 });
//				}
//			}
//		}
//	}
//	cout << min(dise[n], disz[n]) << '\n';
//	return 0;
//}
//
//


//
//int n, a[100005], b[100005];
//int dp[100005];
//int f[100005];
//struct node
//{
//	int c1, c2;
//}c[100005];
//bool cmp(node a, node b) {
//	return a.c1 < b.c1;
//}
//
//signed main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> n;
//	map<int, int> mp;
//	for (int i = 1; i <= n; i++) {
//		cin >> a[i];
//		f[i] = 1e9;
//	}
//	for (int i = 1; i <= n; i++) {
//		cin >> b[i];
//		c[i] = { a[i],b[i] };
//	}
//	sort(c + 1, c + 1 + n, cmp);
//	f[1] = c[1].c2;
//	int len = 1;
//	for (int i = 2; i <= n; i++) {
//		int x = c[i].c2;
//		if (x > f[len])f[++len] = x;
//		else {
//			int l = 0, r = len, m;
//			while (l < r) {
//				m = (l + r) >> 1;
//				if (f[m] > x)r = m;
//				else l = m + 1;
//			}
//			f[l] = min(x, f[l]);
//		}
//	}
//	cout << len << '\n';
//	return 0;
//}

//#include <iostream>
//#include <algorithm>
//#include <vector>
//#include <queue>
//typedef long long ll;
//using namespace std;
//int n;
//int a[100005], b[100005];
//int map[100005],f[100005];
//int main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> n;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> a[i];
//		map[a[i]] = i;
//	}
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> b[i];
//	}
//	int len = 0;
//	f[0] = 0;
//	for (int i = 1; i <= n; i++)
//	{	
//		int l = 0, r = len, mid;
//		if (map[b[i]] > f[len])
//			f[++len] = map[b[i]];
//		else{
//			while (l < r) {
//				mid = (l + r) >> 1;
//				if (f[mid] > map[b[i]])r = mid;
//				else
//					l = mid + 1;
//			}
//			f[l] = min(map[b[i]], f[l]);
//		}
//	}
//	cout << len;
//
//	return 0;
//}

//int n, m, s;
//vector<int> e[500005];
//int lg[500005], st[500005][20], depth[500005];
//
//void dfs(int u, int fa) {
//	depth[u] = depth[fa] + 1;
//	st[u][0] = fa;
//
//	for (int i = 1; i <= lg[depth[u]]; i++) {
//		st[u][i] = st[st[u][i - 1]][i - 1];
//	}
//	for (int v : e[u]) {
//		if (v != fa)
//			dfs(v, u);
//	}
//}
//
//int LCA(int x, int y) {
//	if (depth[x] < depth[y]) {
//		swap(x, y);
//	}
//	while(depth[x]>depth[y]){
//		x = st[x][lg[depth[x] - depth[y]]];
//	}
//	if (x == y)
//		return x;
//	for (int i = lg[depth[x]]; i >= 0; i--) {
//		if (st[x][i] != st[y][i]) {
//			x = st[x][i], y = st[y][i];
//		}
//	}
//	return st[x][0];
//}
//
//signed main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> n >> m >> s;
//	for (int i = 2; i <= 500000; i++) {
//		lg[i] = lg[i >> 1] + 1;
//	}
//
//	for (int i = 1,u,v; i < n; i++) {
//		cin >> u >> v;
//		e[u].push_back(v);
//		e[v].push_back(u);
//	}
//	dfs(s, 0);
//	for (int i = 1,a,b; i <= m; i++) {
//		cin >> a >> b;
//		cout << LCA(a, b) << '\n';
//	}
//	return 0;
//}

